package main

import "fmt"

// defer 延迟执行
func main() {
	fmt.Println("start ...")
	defer fmt.Println(1)
	defer fmt.Println(2)
	defer fmt.Println(3)
	fmt.Println("end ...") // 在函数执行完，调用倒序执行defer的语句，321
}

// defer 语句延迟调用的特性，所以defer 语句能非常方便的处理 资源释放问题。比如：资源清理、文件关闭、解锁、及记录时间等
